{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys, os\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "params = {\"ytick.color\" : \"w\",\n",
    "          \"xtick.color\" : \"w\",\n",
    "          \"axes.labelcolor\" : \"w\",\n",
    "          \"axes.edgecolor\" : \"w\"}\n",
    "plt.rcParams.update(params)\n",
    "\n",
    "\n",
    "sys.path.append('../')\n",
    "import xai\n",
    "from xai.xdata import XData\n",
    "from importlib import reload\n",
    "reload(xai)\n",
    "reload(xai.xdata)\n",
    "import xai\n",
    "from xai.xdata import XData"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [],
   "source": [
    "csv_path = 'data/adult.data'\n",
    "csv_columns = [\"age\", \"workclass\", \"fnlwgt\", \"education\", \"education-num\", \"marital-status\",\n",
    "                   \"occupation\", \"relationship\", \"ethnicity\", \"gender\", \"capital-gain\", \"capital-loss\",\n",
    "                   \"hours-per-week\", \"native-country\", \"loan\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>workclass</th>\n",
       "      <th>fnlwgt</th>\n",
       "      <th>education</th>\n",
       "      <th>education-num</th>\n",
       "      <th>marital-status</th>\n",
       "      <th>occupation</th>\n",
       "      <th>relationship</th>\n",
       "      <th>ethnicity</th>\n",
       "      <th>gender</th>\n",
       "      <th>capital-gain</th>\n",
       "      <th>capital-loss</th>\n",
       "      <th>hours-per-week</th>\n",
       "      <th>native-country</th>\n",
       "      <th>loan</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>39</td>\n",
       "      <td>State-gov</td>\n",
       "      <td>77516</td>\n",
       "      <td>Bachelors</td>\n",
       "      <td>13</td>\n",
       "      <td>Never-married</td>\n",
       "      <td>Adm-clerical</td>\n",
       "      <td>Not-in-family</td>\n",
       "      <td>White</td>\n",
       "      <td>Male</td>\n",
       "      <td>2174</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>United-States</td>\n",
       "      <td>&lt;=50K</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>50</td>\n",
       "      <td>Self-emp-not-inc</td>\n",
       "      <td>83311</td>\n",
       "      <td>Bachelors</td>\n",
       "      <td>13</td>\n",
       "      <td>Married-civ-spouse</td>\n",
       "      <td>Exec-managerial</td>\n",
       "      <td>Husband</td>\n",
       "      <td>White</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>13</td>\n",
       "      <td>United-States</td>\n",
       "      <td>&lt;=50K</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>38</td>\n",
       "      <td>Private</td>\n",
       "      <td>215646</td>\n",
       "      <td>HS-grad</td>\n",
       "      <td>9</td>\n",
       "      <td>Divorced</td>\n",
       "      <td>Handlers-cleaners</td>\n",
       "      <td>Not-in-family</td>\n",
       "      <td>White</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>United-States</td>\n",
       "      <td>&lt;=50K</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>53</td>\n",
       "      <td>Private</td>\n",
       "      <td>234721</td>\n",
       "      <td>11th</td>\n",
       "      <td>7</td>\n",
       "      <td>Married-civ-spouse</td>\n",
       "      <td>Handlers-cleaners</td>\n",
       "      <td>Husband</td>\n",
       "      <td>Black</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>United-States</td>\n",
       "      <td>&lt;=50K</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>28</td>\n",
       "      <td>Private</td>\n",
       "      <td>338409</td>\n",
       "      <td>Bachelors</td>\n",
       "      <td>13</td>\n",
       "      <td>Married-civ-spouse</td>\n",
       "      <td>Prof-specialty</td>\n",
       "      <td>Wife</td>\n",
       "      <td>Black</td>\n",
       "      <td>Female</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>Cuba</td>\n",
       "      <td>&lt;=50K</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   age          workclass  fnlwgt   education  education-num  \\\n",
       "0   39          State-gov   77516   Bachelors             13   \n",
       "1   50   Self-emp-not-inc   83311   Bachelors             13   \n",
       "2   38            Private  215646     HS-grad              9   \n",
       "3   53            Private  234721        11th              7   \n",
       "4   28            Private  338409   Bachelors             13   \n",
       "\n",
       "        marital-status          occupation    relationship ethnicity   gender  \\\n",
       "0        Never-married        Adm-clerical   Not-in-family     White     Male   \n",
       "1   Married-civ-spouse     Exec-managerial         Husband     White     Male   \n",
       "2             Divorced   Handlers-cleaners   Not-in-family     White     Male   \n",
       "3   Married-civ-spouse   Handlers-cleaners         Husband     Black     Male   \n",
       "4   Married-civ-spouse      Prof-specialty            Wife     Black   Female   \n",
       "\n",
       "   capital-gain  capital-loss  hours-per-week  native-country    loan  \n",
       "0          2174             0              40   United-States   <=50K  \n",
       "1             0             0              13   United-States   <=50K  \n",
       "2             0             0              40   United-States   <=50K  \n",
       "3             0             0              40   United-States   <=50K  \n",
       "4             0             0              40            Cuba   <=50K  "
      ]
     },
     "execution_count": 159,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(csv_path, names=csv_columns)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "xd = XData(\"loan\", df)\n",
    "xd.set_protected([\"gender\", \"ethnicity\", \"native-country\", \"age\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>workclass</th>\n",
       "      <th>fnlwgt</th>\n",
       "      <th>education</th>\n",
       "      <th>education-num</th>\n",
       "      <th>marital-status</th>\n",
       "      <th>occupation</th>\n",
       "      <th>relationship</th>\n",
       "      <th>ethnicity</th>\n",
       "      <th>gender</th>\n",
       "      <th>capital-gain</th>\n",
       "      <th>capital-loss</th>\n",
       "      <th>hours-per-week</th>\n",
       "      <th>native-country</th>\n",
       "      <th>loan</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>39</td>\n",
       "      <td>State-gov</td>\n",
       "      <td>77516</td>\n",
       "      <td>Bachelors</td>\n",
       "      <td>13</td>\n",
       "      <td>Never-married</td>\n",
       "      <td>Adm-clerical</td>\n",
       "      <td>Not-in-family</td>\n",
       "      <td>White</td>\n",
       "      <td>Male</td>\n",
       "      <td>2174</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>United-States</td>\n",
       "      <td>&lt;=50K</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>50</td>\n",
       "      <td>Self-emp-not-inc</td>\n",
       "      <td>83311</td>\n",
       "      <td>Bachelors</td>\n",
       "      <td>13</td>\n",
       "      <td>Married-civ-spouse</td>\n",
       "      <td>Exec-managerial</td>\n",
       "      <td>Husband</td>\n",
       "      <td>White</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>13</td>\n",
       "      <td>United-States</td>\n",
       "      <td>&lt;=50K</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>38</td>\n",
       "      <td>Private</td>\n",
       "      <td>215646</td>\n",
       "      <td>HS-grad</td>\n",
       "      <td>9</td>\n",
       "      <td>Divorced</td>\n",
       "      <td>Handlers-cleaners</td>\n",
       "      <td>Not-in-family</td>\n",
       "      <td>White</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>United-States</td>\n",
       "      <td>&lt;=50K</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>53</td>\n",
       "      <td>Private</td>\n",
       "      <td>234721</td>\n",
       "      <td>11th</td>\n",
       "      <td>7</td>\n",
       "      <td>Married-civ-spouse</td>\n",
       "      <td>Handlers-cleaners</td>\n",
       "      <td>Husband</td>\n",
       "      <td>Black</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>United-States</td>\n",
       "      <td>&lt;=50K</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>28</td>\n",
       "      <td>Private</td>\n",
       "      <td>338409</td>\n",
       "      <td>Bachelors</td>\n",
       "      <td>13</td>\n",
       "      <td>Married-civ-spouse</td>\n",
       "      <td>Prof-specialty</td>\n",
       "      <td>Wife</td>\n",
       "      <td>Black</td>\n",
       "      <td>Female</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>Cuba</td>\n",
       "      <td>&lt;=50K</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   age          workclass  fnlwgt   education  education-num  \\\n",
       "0   39          State-gov   77516   Bachelors             13   \n",
       "1   50   Self-emp-not-inc   83311   Bachelors             13   \n",
       "2   38            Private  215646     HS-grad              9   \n",
       "3   53            Private  234721        11th              7   \n",
       "4   28            Private  338409   Bachelors             13   \n",
       "\n",
       "        marital-status          occupation    relationship ethnicity   gender  \\\n",
       "0        Never-married        Adm-clerical   Not-in-family     White     Male   \n",
       "1   Married-civ-spouse     Exec-managerial         Husband     White     Male   \n",
       "2             Divorced   Handlers-cleaners   Not-in-family     White     Male   \n",
       "3   Married-civ-spouse   Handlers-cleaners         Husband     Black     Male   \n",
       "4   Married-civ-spouse      Prof-specialty            Wife     Black   Female   \n",
       "\n",
       "   capital-gain  capital-loss  hours-per-week  native-country    loan  \n",
       "0          2174             0              40   United-States   <=50K  \n",
       "1             0             0              13   United-States   <=50K  \n",
       "2             0             0              40   United-States   <=50K  \n",
       "3             0             0              40   United-States   <=50K  \n",
       "4             0             0              40            Cuba   <=50K  "
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xd.df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['gender', 'ethnicity', 'native-country', 'age']\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAGSCAYAAAAIBQ1WAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzsnXu8VlP6wL+ne5RuwlFUlFS6SCkaJpLKUO4VM6VxCzNyn8xFboMMMxi3n1slpRAVJhSJiVJxdCOFKMIokSnpsH5/PGudfX/3PrdOnXm+n8/+vO9e+7722utZ63me9aw8YwyKoiiK4qdKRd+AoiiKsuOhwkFRFEWJoMJBURRFiaDCQVEURYmgwkFRFEWJoMJBURRFiaDCQVEURYmgwkFRFEWJoMJBURRFiVCtom+gFOjQbkVRlOLzNdA4bacsPYdawFvAu8Ay4Dqb3gKYD6wEJgM1bHpNu77Kbm/uO9fVNn0F0MeX3temrQJGZrgnRVEUpWR8kmWnLMJhK3A00BHohFTk3YHRwD+AVsA3wNl2/7Pteku7fbRNbwsMAtrZc9wLVLXLPUA/u89g+6soiqJUEFmEgwG+t/+r28UgAuMpmz4OONH+H2DXsdt7AXk2fRIibD5GegmH2mUV8BHwo91nQEkfSFEURSk9WQ3SVYEC4CtgJvAhsBEotNvXAk3s/ybAGvu/EPgWaBRK9x+TlB7HecBCuyiKoijlRFaD9E+ISqk+8AzQJmYfZyDOS9iWlB4noJKMzQ/YJXafbdu2sXbtWn744YeEwxWlclCrVi2aNm1K9erVK/pWlEpKcb2VNgKvIjaH+vb4QqAp8LndZy2wj/2tBtQDNvjSHf5jktKLxdq1a6lbty7NmzcnLy9OFinKzo8xhvXr17N27VpatGhR0bejVFKyqJUaI4IAoDZwDPAeMBs41aYPBabZ/9PtOnb7K0grfzpikK6JeDq1QrygFtj/LRCPp0F232Lzww8/0KhRIxUMSqUmLy+PRo0aaQ9ZKVey9BzyEQNzVUSYPAE8ByxHjMc3Au8AD9v9HwbGI0bmDUhlD+IG+4Q9rhC4CFFXAfwOeNFe4xG7b4lQwaD8L6DlXClv8nbiaUIjN/7ee+/Rpk2cOURRKh9a3pUSsgjokraThs8oQ9avX0+nTp3o1KkTe+21F02aNKFTp07Ur1+ftm3LfujGq6++yvHHH1+sY3r27MnChVFnr7Fjx/K73/0u9fi+fftSv379xOv+/ve/p06dOoHzNm7cuChfHnrooaJtV111Fe3ataNNmzZcfPHFuIZKz549ad26ddExX331Vey1br75Zlq2bEnr1q158cUXi9JfeOEFWrduTcuWLbnlllsSn+WSSy7htddeA+Css86iRYsWRdcsKCgARL9/8cUX07JlSzp06MDbb78de65FixbRvn17WrZsGXiWDRs20Lt3b1q1akXv3r355ptvAJgyZQrt2rXjiCOOYP369QB8+OGHDBo0qOicP/74I0ceeSSFhYXRCyqVns7d7g0s2xsVDmVIo0aNKCgooKCggOHDh3PppZcWrVepkp7VO0MlcOWVVzJ+/PjYbQsXLmTjxo2R9IEDBxblwznnnAPAG2+8wdy5c1m8eDFLly5lwYIFzJkzp+iYCRMmFB2zxx57RM65fPlyJk2axLJly3jhhRe48MIL+emnn/jpp5+46KKLmDFjBsuXL+fxxx9n+fLlkeM3bNjAvHnzOPLII4vS/va3vxVds1OnTgDMmDGDlStXsnLlSh544AEuuOCC2Ge/4IILeOCBB4r2feGFFwC45ZZb6NWrFytXrqRXr15Fwur2229n3rx5DBkyhIkTJwLw5z//mRtuuKHonDVq1KBXr15Mnjw59pqKUp7szLGVcnPJJWBbf2VGp05wxx0lOvSnn37i3HPP5Y033qBJkyZMmzaN2rVr07NnTw4//HDmzp1L//79GTJkCMOHD+fTTz8F4I477qBHjx7MmTOHESNGAKJvdi3e77//nlNPPZWlS5dyyCGH8Nhjj5GXl8fLL7/MFVdcQWFhIV27duW+++6jZs2agXsaM2YMN998M/n5+RxwwAGR7XH06tWLV199Nfb5rrzySiZOnMgzzzyTep68vDx++OEHfvzxR4wxbNu2jT333DP1OMe0adMYNGgQNWvWpEWLFrRs2ZK33noLgJYtW7LffvsBMGjQIKZNmxbpuT311FP07ds303WGDBlCXl4e3bt3Z+PGjaxbt478/PyifdatW8d3333HYYcdBsCQIUOYOnUq/fr1Y9q0aUX5NXToUHr27Mno0aOpUqUKW7duZfPmzdSsWZPXX3+d/Px8WrVqFbj+iSeeyNVXX82ZZ56ZOW8UpSzQnsN2YuXKlVx00UUsW7aM+vXrM2XKlKJtGzduZM6cOVx++eWMGDGCSy+9lAULFjBlypSilvZtt93GPffcQ0FBAa+//jq1a9cG4J133uGOO+5g+fLlfPTRR8ydO5cffviBs846i8mTJ7NkyRIKCwu57777Avezbt06Ro0axdy5c5k5c2agdT19+nSuueaaYj3f3XffTf/+/QOVpmPKlCl06NCBU089lTVrZLzjYYcdxlFHHUV+fj75+fn06dMnoD8fNmwYnTp14oYbbiDOLvbZZ5+xzz6eB3TTpk357LPPEtPDzJ07l0MOOSSQ9qc//YkOHTpw6aWXsnXr1pzXCd9L06ZNY/f58ssvi/IkPz+/SEU2atQo+vTpw6xZsxg8eDA33ngjf/nLXyL3edBBB7FgwYJIuqKUN5W351DCFn554fTZAIcccgirV68u2jZw4MCi/7NmzQpU1N999x2bNm2iR48eXHbZZZx55pmcfPLJRZXRoYceWvS/U6dOrF69mrp169KiRQsOOOAAQFqs99xzD5dccknReefPn0/Pnj1p3Lhx0T188MEHAPTv35/+/ftnfrbPP/+cJ598MrZHccIJJzB48GBq1qzJ/fffz9ChQ3nllVdYtWoV7733HmvXrgWgd+/evPbaaxx55JFMmDCBJk2asGnTJk455RTGjx/PkCFDAueNExh5eXn8/PPPselh1q1bV/TsIPaLvfbaix9//JHzzjuP0aNHc8011yReJ8u95KJ379707t0bgHHjxnHcccexYsUKbrvtNho0aMCdd97JLrvsQtWqValRowabNm2ibt26Oc+pKGWJ9hy2E36VTdWqVQP2hV133bXo/88//8ybb75ZpPv+7LPPqFu3LiNHjuShhx5iy5YtdO/enffffz/xvFk90MrKHfKdd95h1apVtGzZkubNm7N582ZatmwJiB3G3eO5557LokWLAHjmmWfo3r07derUoU6dOvTr14958+YB0KSJRE+pW7cuZ5xxRpG6yE/Tpk2LeiEgAyD33nvvxPQwtWvXDowTyM/PJy8vj5o1azJs2LCia2Y5X9OmTYuEXHifPffck3Xr1gEikML2k82bNzNu3DguvPBCrr76ah555BEOOeQQJkyYULTP1q1bqVWrVuQZFKU8UeGwg3Hsscdy9913F607r5kPP/yQ9u3b84c//IEuXboUCYc4DjzwQFavXs2qVasAGD9+PL/85S8D+3Tr1o1XX32V9evXs23bNp588skS3/OvfvUrvvjiC1avXs3q1avZZZddiq7tKkYQdZVTHe27777MmTOHwsJCtm3bxpw5c2jTpg2FhYV8/fXXgIRDee655zjooIMi1+zfvz+TJk1i69atfPzxx6xcuZJDDz2Url27snLlSj7++GN+/PFHJk2aFNsLatOmTdE9+u/TGMPUqVOLrtm/f38effRRjDHMmzePevXqRVRn+fn51K1bl3nz5mGM4dFHH2XAgAFFx48bJ3Eox40bV5TuuPXWWxkxYgTVq1dny5Yt5OXlUaVKFTZv3gyIB1zjxo01TIay3VHhsINx1113sXDhQjp06EDbtm25//77ATFMH3TQQXTs2JHatWvTr1+/xHPUqlWLMWPGcNppp9G+fXuqVKnC8OHDA/vk5+dz7bXXcthhh3HMMcfQuXPnom25bA5HHHEEp512Gi+//DJNmzYNuJAmPU+7du3o2LEjd911F2PHjgXg1FNPZf/996d9+/Z07NiRjh07csIJJ7B161b69OlDhw4d6NSpE02aNOHcc8+N3Fe7du04/fTTadu2LX379uWee+6hatWqVKtWjbvvvrvIhnH66afTrl27yH396le/CqjBzjzzTNq3b0/79u35+uuv+fOf/wzAcccdx3777UfLli0599xzufdez6XQqQkB7rvvPs455xxatmzJ/vvvX/R+Ro4cycyZM2nVqhUzZ85k5EhvupLPP/+chQsXFgmMyy+/nO7duzNu3DjOOOMMAGbPns1xxx2XM48VpTzQQXDK/yy/+MUveO6556hfv376zhXEySefzM0330zr1q0j27S8V27CYxvenn9hWZ1aB8EpSi5uv/32IpfhHZEff/yRE088MVYwKEp5U3m9lRQlhW7dulX0LeSkRo0aES8tRdleaM9BURRFiaDCQVEURYmgwkFRFEWJoMJBURRFiVCpDdJTdylbL48TN68o0/MBTJ06lQMOOKAoMNw111zDkUceyTHHHFPm1yprbrrpJv74xz9W9G0oilIOaM+hgpk6dWogltL111+/UwgGEOEQhzEmNsaRoig7DyocypjVq1fTpk0bzj33XNq1a8exxx7Lli1bePDBB+natSsdO3bklFNOYfPmzbzxxhtMnz6dK6+8kk6dOvHhhx9y1lln8dRTTzFjxgxOP/30ovO++uqr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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAFUCAYAAAAtaOuGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3XmYVMXZ9/HvsM2IsrsBo48oiIIi6CAYoqIoawIkQYIaRSXBNS7RROISCcSo0UTkcXs1LmgMBjURHoOibGpUNgFRFgWXwAAisqqsA+f9466ebpqeoQdmTh36/D7X1decrj7dXTTd5z5VdZ+qvCAIEBGR+KnmuwIiIuKHAoCISEwpAIiIxJQCgIhITCkAiIjElAKAiEhMKQCIiMSUAoCISEwpAIiIxFQ2AaAlMDflthG4HmgIvAEsdn8buP3zgJHAEmAecHLKaw10+y9223sS6KabbrrpVuHbarKQV8GpIKoDy4EOwNXAWuBuYAgWAG4GegK/dH87AA+4vw2BWUCRq+D7wCnAunLer0KVExERwI6vRXvaqaJdQF2AT4H/An2AUa58FNDXbfcBnsEO3tOA+kBjoBvWUliLHfTfALpX8P1FRKSS1Kjg/gOA0W77MGCl214JHOq2mwLLUp5T7MrKKk832N1ERKQKVaQFUAvoDbywh/3yMpQF5ZSnewxruuyx+SIiInuvIi2AHsBsYJW7vwrr2lnp/n7lyouBI1KeVwiscOWd08qnVrTCIvti+/btFBcXs2XLFt9VEdlnBQUFFBYWUrNmzb16fkUCwPkku38AxmGZPHe7v2NTyq8BnscGfzdgQWIC8EeS2UJdgd/uVa1F9lJxcTF16tThqKOOIi8vU6NUZP8QBAFr1qyhuLiYZs2a7dVrZBsAagPnApenlN0NjAEGAUuB81z5eCwDaAmwCbjUla8FhgMz3f1hrkwkNFu2bNHBX3JCXl4ejRo1YvXqrDI+M8o2AGwCGqWVrcGygtIFWIpoJk+6m4g3OvhLrtjX77KuBBYRiSkFgBg5ucPDlXaTvbNmzRratm1L27ZtOfzww2natClt27alfv36tGrVqtLfb+rUqfzgBz+o0HM6d+7MrFmzdit/+umnueaaa8p97n//+19OOeUU2rZtS+vWrXn00UdLH+vevTsnnXQSrVu35oorrmDHjh0AzJ07l44dO9K2bVuKioqYMWMGAIsWLeK0004jPz+f++67r8z3vOSSS2jWrFnp5zp37lzA+sivvfZamjdvTps2bZg9e3bG52/evJkzzzyztD7Vq1cvfa3evXuX7vf555/ToUMHWrRowU9/+lO2bduW8fXuuusumjdvTsuWLZkwYUJp+WuvvUbLli1p3rw5d999d2n5hRdeSJs2bbjllltKy4YPH87YsWNL77/yyivccccdZX4Ge6ui1wFIlirrIDl7+lWV8joSDY0aNSo9QA0dOpSDDjqIm266iS+++CKrA3VJSQk1akT3Z9u4cWPeffdd8vPz+fbbbznhhBPo3bs3TZo0YcyYMdStW5cgCOjXrx8vvPACAwYM4De/+Q133HEHPXr0YPz48fzmN79h6tSpNGzYkJEjR/Lyyy/v8X3vvfde+vXrt0vZq6++yuLFi1m8eDHTp0/nyiuvZPr06bs998knn+THP/4x1atXB+CAAw4o/T9KdfPNN3PDDTcwYMAArrjiCp544gmuvPLKXfZZsGABzz//PPPnz2fFihWcc845fPLJJwBcffXVvPHGGxQWFtK+fXt69+5NSUkJAPPmzeP0009nw4YNbNq0iRkzZnD77beXvm6vXr24/fbbufnmm6ldu/YeP49sqQUgEhE7duzgF7/4Ba1bt6Zr165s3rwZsDPyW265hTPPPJMHHniA1atX85Of/IT27dvTvn173nnnHQDefPPN0jPXdu3a8c033wDw7bff0q9fP4477jguvPBCEtO/TJo0iXbt2nHiiSdy2WWXsXXr1t3q9NRTT3Hsscdy5plnlr5PeWrVqkV+fj4AW7duZefOnaWP1a1bF7Agtm3bttL+67y8PDZu3AjAhg0baNKkCQCHHnoo7du33+sUx7Fjx3LxxReTl5dHx44dWb9+PStXrtxtv+eee44+ffqU+1pBEDB58uTSIDNw4MCMgWns2LEMGDCA/Px8mjVrRvPmzZkxYwYzZsygefPmHH300dSqVYsBAwYwduxYatasyebNm9m5cyfbtm2jevXq/O53v2PYsGG7vG5eXh6dO3fmlVde2avPoizRPZUQqWrXXw8ZzvT2Sdu2MGLEXj118eLFjB49mscff5z+/fvz0ksv8bOf/QyA9evX8+abbwJwwQUXcMMNN/D973+fpUuX0q1bNxYuXMh9993HQw89RKdOnfj2228pKCgAYM6cOcyfP58mTZrQqVMn3nnnHYqKirjkkkuYNGkSxx57LBdffDGPPPII119/fWl9Vq5cyR133MH7779PvXr1OOuss2jXrh0A48aNY9asWbsdqACWLVtGr169WLJkCffee2/pAR2gW7duzJgxgx49epQeTEeMGEG3bt246aab2LlzJ++++26FP7tbb72VYcOG0aVLF+6++27y8/NZvnw5RxyRvCSpsLCQ5cuX07hx49Kybdu28dlnn3HUUUeVlm3ZsoWioiJq1KjBkCFD6Nu3L2vWrKF+/fqlra/Ea6Vbvnw5HTt23O09gd3qMn36dI4//niOPPJITj75ZC666CKWLFlCEASln3OqoqIi3n77bfr371/hz6csagGIRESiHxvglFNO4Ysvvih97Kc//Wnp9sSJE7nmmmtK+6g3btzIN998Q6dOnfjVr37FyJEjWb9+fenB6tRTT6WwsJBq1arRtm1bvvjiCz7++GOaNWvGscceC9gZ7VtvvbVLfaZPn07nzp055JBDqFWr1i516N27d8aDP9iBbt68eSxZsoRRo0axatWq0scmTJjAypUr2bp1K5MnTwbgkUce4f7772fZsmXcf//9DBo0qEKf21133cWiRYuYOXMma9eu5Z577gEg00SX6VkzX3/9NfXr19+lbOnSpcyaNYu///3vXH/99Xz66adZvVZ571ne80eMGMHcuXO58cYbuf322xk2bBh33nkn/fv35/HHHy/d/9BDD2XFihWZPoK9phaAxNdenqlXlUTXCdhAZKILCODAAw8s3d65cyfvvfceBxxwwC7PHzJkCL169WL8+PF07NiRiRMnZnzdkpKSjAekTPYlzbBJkya0bt2at99+e5f++YKCAnr37s3YsWM599xzGTVqFA888AAA5513Hj//+c8r9D6JM/r8/HwuvfTS0gHjwsJCli1LTj9WXFy8S2sErL8//arwxD5HH300nTt3Zs6cOfzkJz9h/fr1pWMwmV5rT++5p7qMHTuWoqIivvvuOz766CPGjBnDGWecwYUXXkjt2rXZsmXLbv/n+0otAJH9TNeuXXnwwQdL7ycGLD/99FNOPPFEbr75ZoqKili0aFGZr3HcccfxxRdfsGTJEgCeffZZzjzzzF326dChA1OnTmXNmjVs376dF17Y0zRgdmBLBK5169bxzjvv0LJlS779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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ims = xd.show_imbalances(cross=[])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "xd.set_threshold(0.8)\n",
    "im = xd.show_imbalance(\"gender\", cross=[])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "xd.balance(\"gender\", cross=[])\n",
    "im = xd.show_imbalance(\"gender\", cross=[])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "im = xd.show_imbalance(\"gender\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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RMRByUFERByUHERExEHJQUREHJQcRETEQclBREQclBxERMRByUFERByUHERExEHJQUREHJQcRETEQclBREQclBxERMRByUFERBzCSQ7TgR+Br4PaamGuH51i72vadh/wCuZ60F8BrYKeM8Run2KXA1oDW+xzXrH7EBERD4WTHGYAPXK1jQGWAQn2foxt72nbEoDhwBTbXgsYC1yOuV70WLITyhS7beB5uV9LRERKWDjJ4VPgYK62PkCSXU4C+ga1zwT8wFqgBhAHdMccYRwEfrbLPexjvwDW2OfMDNqXiIh4pEIRn3cekGaX04Bz7XI94Ieg7VJtW37tqSHa8zLc3kREpBgVNTnkJdR4gb8I7XmZam8FbSciIhEo6mylfZguIez9j3Y5FagftF08sLeA9vgQ7SIi4qGiJodFZM84GgIsDGpPxBwRtAcOY7qdFgPdMIPQNe3yYvvYUbutzz43sC8REfFION1Kc4HOwC8xv/THAuOB+cAwYDcwwG77EdALMy31OHCbbT8IPA2st+tPkT3IfTdmRlQV4GN7ExERD4WTHAbl0d4lRJsfGJHH9tPtLbdk4JIw4hARkRKiM6RFRMRByUFERByUHERExEHJQUREHJQcRETEQclBREQclBxERMRByUFERByUHERExEHJQUREHJQcRETEQclBREQclBxERMRByUFERByUHERExEHJQUREHJQcRETEQclBREQclBxERMQh0uTwALAV+BqYC1QGGgLrgBTgbaCS3fYsu77TPt4gaD+P2PYdQPcIYxIRkQhFkhzqAfcBbYBLgPLAQOA54CUgAfgZGGa3H2bXL7SPP2fbm9rnNQN6AJPtvkRExCORHjlUAKrY+6pAGnAt8I59PAnoa5f72HXs410An22fB5wEvsccQbSLMC4REYlAJMlhDzAB2I1JCoeBDcAhINNuk4o5wsDe/2CXM+32tXO1535ObsOBZHsTEZFiEklyqIn51d8QqAucDfQMsZ3f3vvyeCyv9lCmYrqx2hQqUhERKZRIksN1mG6g/UAG8A/gCqAGppsJIB7Ya5dTgfp2uQJQHTiYqz33c0RExAORJIfdQHvMWIMPM4awDVgB9LfbDAEW2uVFdh37+HLMEcIizID0WZijkATgiwjiEhGRCFUoeJM8rcMMLG/EjCFswnT7fIgZYB5n2960278JzMIMOB/EJAQw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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "im = xd.balance(\"gender\")\n",
    "im = xd.show_imbalance(\"gender\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "xd.reset()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Validation dataset\n",
    "\n",
    "### How much data?\n",
    "How do we know how much data? Well, it's hard, but normally it depends on:\n",
    "\n",
    "* The complexity of the problem, nominally the unknown underlying function that best relates your input variables to the output variable.\n",
    "* The complexity of the learning algorithm, nominally the algorithm used to inductively learn the unknown underlying mapping function from specific examples.\n",
    "\n",
    "### Statistical heuristics\n",
    "\n",
    "* Factor of the number of classes: There must be x independent examples for each class, where x could be tens, hundreds, or thousands (e.g. 5, 50, 500, 5000).\n",
    "* Factor of the number of input features: There must be x% more examples than there are input features, where x could be tens (e.g. 10).\n",
    "* Factor of the number of model parameters: There must be x independent examples for each parameter in the model, where x could be tens (e.g. 10).\n",
    "\n",
    "### Papers\n",
    "* Small sample size effects in statistical pattern recognition: Recommendations for practitioners: https://sci2s.ugr.es/keel/pdf/specific/articulo/raudys91.pdf\n",
    "* 39 Dimensionality and sample size considerations in pattern recognition practice: https://www.sciencedirect.com/science/article/pii/S0169716182020422"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(31265, 15)\n",
      "(1296, 15)\n"
     ]
    }
   ],
   "source": [
    "# Before we balance again on sub classes, let's create a validation set\n",
    "xd.reset()\n",
    "\n",
    "\n",
    "import random, math\n",
    "\n",
    "def group_by_columns(df, all_cols, bins=0):\n",
    "    group_list = []\n",
    "    for c in all_cols:\n",
    "        col = df[c]\n",
    "        if c in xd._categorical_cols or not bins:\n",
    "            grp = c\n",
    "        else:\n",
    "            col_min = col.min()\n",
    "            col_max = col.max()\n",
    "            # TODO: Use the original bins for display purposes as they may come normalised\n",
    "            col_bins = pd.cut(col, list(np.linspace(col_min, col_max, bins)))\n",
    "            grp = col_bins\n",
    "\n",
    "        group_list.append(grp)\n",
    "\n",
    "    grouped = df.groupby(group_list)\n",
    "    return grouped \n",
    "\n",
    "\n",
    "def split_test_set(\n",
    "        df,\n",
    "        target_name,\n",
    "        key_features=[],\n",
    "        examples_per_class=20,\n",
    "        sample_type=\"half\",\n",
    "        bins=5, \n",
    "        random_state=None):\n",
    "    \"\"\"\n",
    "    sample_type: Can be \"half\", or \"upsample\"\n",
    "    \"\"\"\n",
    "    \n",
    "    if random_state:\n",
    "        random.setstate(random_state)\n",
    "    \n",
    "    tmp_df = df.copy()\n",
    "    \n",
    "    grouped = group_by_columns(tmp_df, key_features, bins=9)\n",
    "    \n",
    "    selected_idxs = []\n",
    "    \n",
    "    def sample(x):\n",
    "        group_size = x.shape[0]\n",
    "        curr_group = None\n",
    "        if sample_type == \"upsample\":\n",
    "            return x.sample(examples_per_class, replace=True)\n",
    "        elif sample_type == \"half\":\n",
    "            if group_size > 2*examples_per_class:\n",
    "                curr_group = x.sample(examples_per_class)\n",
    "            else:\n",
    "                if group_size > 1:\n",
    "                    curr_group = x.sample(math.floor(group_size / 1))\n",
    "                else:\n",
    "                    if random.random() > 0.5:\n",
    "                        curr_group = x\n",
    "                    else:\n",
    "                        curr_group = x.sample(0)\n",
    "        else:\n",
    "            raise(f\"Sampling type provided not found: given {sample_type}, \"\\\n",
    "                 \"expected: 'half' or 'upsample'\")\n",
    "                    \n",
    "        selected_idxs.append(curr_group.index.values)\n",
    "        return curr_group\n",
    "    \n",
    "    tmp_df = grouped.apply(sample)\n",
    "    \n",
    "    selected_idx = np.concatenate(selected_idxs)\n",
    "    \n",
    "    train_idx = np.full(df.shape[0], True, dtype=bool)\n",
    "    train_idx[selected_idx] = False\n",
    "    test_idx = np.full(df.shape[0], False, dtype=bool)\n",
    "    test_idx[selected_idx] = True\n",
    "    \n",
    "    df_train = df.iloc[train_idx] \n",
    "    df_test = df.iloc[test_idx]\n",
    "    \n",
    "    return df_train, df_test\n",
    "    \n",
    "df_train, df_test = split_test_set(\n",
    "    xd.df,\n",
    "    \"loan\",\n",
    "    examples_per_class=20,\n",
    "    key_features=[\"gender\", \"ethnicity\", \"age\"],\n",
    "    bins=9)\n",
    "\n",
    "print(df_train.shape)\n",
    "print(df_test.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>workclass</th>\n",
       "      <th>fnlwgt</th>\n",
       "      <th>education</th>\n",
       "      <th>education-num</th>\n",
       "      <th>marital-status</th>\n",
       "      <th>occupation</th>\n",
       "      <th>relationship</th>\n",
       "      <th>ethnicity</th>\n",
       "      <th>gender</th>\n",
       "      <th>capital-gain</th>\n",
       "      <th>capital-loss</th>\n",
       "      <th>hours-per-week</th>\n",
       "      <th>native-country</th>\n",
       "      <th>loan</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [age, workclass, fnlwgt, education, education-num, marital-status, occupation, relationship, ethnicity, gender, capital-gain, capital-loss, hours-per-week, native-country, loan]\n",
       "Index: []"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "xd.reset()\n",
    "xd.balance(\"gender\")\n",
    "im = xd.show_imbalance(\"gender\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>fnlwgt</th>\n",
       "      <th>education-num</th>\n",
       "      <th>capital-gain</th>\n",
       "      <th>capital-loss</th>\n",
       "      <th>hours-per-week</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.076646</td>\n",
       "      <td>0.036527</td>\n",
       "      <td>0.077674</td>\n",
       "      <td>0.057775</td>\n",
       "      <td>0.068756</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>fnlwgt</th>\n",
       "      <td>-0.076646</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.043195</td>\n",
       "      <td>0.000432</td>\n",
       "      <td>-0.010252</td>\n",
       "      <td>-0.018768</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>education-num</th>\n",
       "      <td>0.036527</td>\n",
       "      <td>-0.043195</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.122630</td>\n",
       "      <td>0.079923</td>\n",
       "      <td>0.148123</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>capital-gain</th>\n",
       "      <td>0.077674</td>\n",
       "      <td>0.000432</td>\n",
       "      <td>0.122630</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.031615</td>\n",
       "      <td>0.078409</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>capital-loss</th>\n",
       "      <td>0.057775</td>\n",
       "      <td>-0.010252</td>\n",
       "      <td>0.079923</td>\n",
       "      <td>-0.031615</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.054256</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>hours-per-week</th>\n",
       "      <td>0.068756</td>\n",
       "      <td>-0.018768</td>\n",
       "      <td>0.148123</td>\n",
       "      <td>0.078409</td>\n",
       "      <td>0.054256</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     age    fnlwgt  education-num  capital-gain  capital-loss  \\\n",
       "age             1.000000 -0.076646       0.036527      0.077674      0.057775   \n",
       "fnlwgt         -0.076646  1.000000      -0.043195      0.000432     -0.010252   \n",
       "education-num   0.036527 -0.043195       1.000000      0.122630      0.079923   \n",
       "capital-gain    0.077674  0.000432       0.122630      1.000000     -0.031615   \n",
       "capital-loss    0.057775 -0.010252       0.079923     -0.031615      1.000000   \n",
       "hours-per-week  0.068756 -0.018768       0.148123      0.078409      0.054256   \n",
       "\n",
       "                hours-per-week  \n",
       "age                   0.068756  \n",
       "fnlwgt               -0.018768  \n",
       "education-num         0.148123  \n",
       "capital-gain          0.078409  \n",
       "capital-loss          0.054256  \n",
       "hours-per-week        1.000000  "
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xd.correlations()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/scipy/stats/stats.py:245: RuntimeWarning: The input array could not be properly checked for nan values. nan values will be ignored.\n",
      "  \"values. nan values will be ignored.\", RuntimeWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "array([[ 1.        ,  0.05821793, -0.07814098, -0.02753357,  0.06634497,\n",
       "        -0.37484987, -0.00480952, -0.32151467,  0.02818017,  0.10037342,\n",
       "         0.12494799,  0.05848388,  0.14290681,  0.00750752,  0.27296206],\n",
       "       [ 0.05821793,  1.        , -0.02887002,  0.00970422,  0.04002668,\n",
       "        -0.07084739,  0.20712561, -0.11564865,  0.06361613,  0.11274998,\n",
       "         0.03068833,  0.01345492,  0.13366052, -0.00690803,  0.06434877],\n",
       "       [-0.07814098, -0.02887002,  1.        , -0.02139763, -0.03570649,\n",
       "         0.03510239,  0.00165624,  0.01373364, -0.03604903,  0.02507814,\n",
       "        -0.00603892, -0.00691384, -0.02162149, -0.07933568, -0.01073752],\n",
       "       [-0.02753357,  0.00970422, -0.02139763,  1.        ,  0.20983273,\n",
       "        -0.01332109, -0.03429336,  0.01642285,  0.01056352, -0.03450412,\n",
       "         0.00535775,  0.00706282,  0.01060243,  0.08362025,  0.0296483 ],\n",
       "       [ 0.06634497,  0.04002668, -0.03570649,  0.20983273,  1.        ,\n",
       "        -0.06440846,  0.11508002, -0.0961136 ,  0.04588328,  0.00628315,\n",
       "         0.11913972,  0.0747487 ,  0.16721512,  0.05010244,  0.32968229],\n",
       "       [-0.37484987, -0.07084739,  0.03510239, -0.01332109, -0.06440846,\n",
       "         1.        , -0.01187525,  0.31430555, -0.0868448 , -0.1542957 ,\n",
       "        -0.07642508, -0.04317161, -0.21222622, -0.03159789, -0.23640271],\n",
       "       [-0.00480952,  0.20712561,  0.00165624, -0.03429336,  0.11508002,\n",
       "        -0.01187525,  1.        , -0.07532086,  0.00850054,  0.07878917,\n",
       "         0.02051439,  0.01994441,  0.08987452, -0.00711449,  0.08214877],\n",
       "       [-0.32151467, -0.11564865,  0.01373364,  0.01642285, -0.0961136 ,\n",
       "         0.31430555, -0.07532086,  1.        , -0.13449877, -0.61757016,\n",
       "        -0.10072056, -0.06760758, -0.30143589, -0.01320067, -0.32991294],\n",
       "       [ 0.02818017,  0.06361613, -0.03604903,  0.01056352,  0.04588328,\n",
       "        -0.0868448 ,  0.00850054, -0.13449877,  1.        ,  0.09995216,\n",
       "         0.02827605,  0.01963575,  0.07566175,  0.17520338,  0.0819762 ],\n",
       "       [ 0.10037342,  0.11274998,  0.02507814, -0.03450412,  0.00628315,\n",
       "        -0.1542957 ,  0.07878917, -0.61757016,  0.09995216,  1.        ,\n",
       "         0.066646  ,  0.04215426,  0.26494059, -0.00687009,  0.21598015],\n",
       "       [ 0.12494799,  0.03068833, -0.00603892,  0.00535775,  0.11913972,\n",
       "        -0.07642508,  0.02051439, -0.10072056,  0.02827605,  0.066646  ,\n",
       "         1.        , -0.06656945,  0.09332205,  0.01490347,  0.27815938],\n",
       "       [ 0.05848388,  0.01345492, -0.00691384,  0.00706282,  0.0747487 ,\n",
       "        -0.04317161,  0.01994441, -0.06760758,  0.01963575,  0.04215426,\n",
       "        -0.06656945,  1.        ,  0.05985243,  0.00709751,  0.14104226],\n",
       "       [ 0.14290681,  0.13366052, -0.02162149,  0.01060243,  0.16721512,\n",
       "        -0.21222622,  0.08987452, -0.30143589,  0.07566175,  0.26494059,\n",
       "         0.09332205,  0.05985243,  1.        ,  0.01058482,  0.26907514],\n",
       "       [ 0.00750752, -0.00690803, -0.07933568,  0.08362025,  0.05010244,\n",
       "        -0.03159789, -0.00711449, -0.01320067,  0.17520338, -0.00687009,\n",
       "         0.01490347,  0.00709751,  0.01058482,  1.        ,  0.0287465 ],\n",
       "       [ 0.27296206,  0.06434877, -0.01073752,  0.0296483 ,  0.32968229,\n",
       "        -0.23640271,  0.08214877, -0.32991294,  0.0819762 ,  0.21598015,\n",
       "         0.27815938,  0.14104226,  0.26907514,  0.0287465 ,  1.        ]])"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xd.correlations(include_categorical=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "corr = xd.correlations(include_categorical=True, plot_type=\"matrix\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "xd.convert_categories()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "xd.normalize_numeric()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 2, 3, 4])"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Experiments \n",
    "Below are todos and experiments"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import seaborn as sns\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "a4_dims = (10,5)\n",
    "fig, ax = plt.subplots(figsize=a4_dims)\n",
    "sn.violinplot(x='hours-per-week', y='gender', data=df, ax=ax)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# Categorical plots\n",
    "# TODO: https://seaborn.pydata.org/tutorial/categorical.html#categorical-tutorial\n",
    "\n",
    "# Numeric plots:\n",
    "# TODO: https://seaborn.pydata.org/tutorial/axis_grids.html#grid-tutorial\n",
    "\n",
    "# Statistical relationships with data\n",
    "# TODO: https://seaborn.pydata.org/tutorial/relational.html#relational-tutorial\n",
    "g = sns.PairGrid(df, hue=\"loan\")\n",
    "g.map(plt.scatter);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def kdeplot(feature):\n",
    "    plt.figure(figsize=(9, 4))\n",
    "    plt.title(\"KDE for {}\".format(feature))\n",
    "    ax0 = sns.kdeplot(df[df['gender'] == ' Male'][feature].dropna(), color= 'navy', label= 'Loan: No')\n",
    "    ax1 = sns.kdeplot(df[df['gender'] == ' Female'][feature].dropna(), color= 'orange', label= 'Loan: Yes')\n",
    "kdeplot('hours-per-week')\n",
    "# kdeplot('education-num')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "xd.df[\"gender\"].unique()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# XMODEL"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sklearn\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import classification_report, mean_squared_error, roc_curve, auc\n",
    "\n",
    "from keras.layers import Input, Dense, Flatten, \\\n",
    "    Concatenate, concatenate, Dropout, Lambda\n",
    "from keras.models import Model, Sequential\n",
    "from keras.layers.embeddings import Embedding\n",
    "\n",
    "def build_model(X):\n",
    "    input_els = []\n",
    "    encoded_els = []\n",
    "    dtypes = list(zip(X.dtypes.index, map(str, X.dtypes)))\n",
    "    for k,dtype in dtypes:\n",
    "        input_els.append(Input(shape=(1,)))\n",
    "        if dtype == \"int8\":\n",
    "            e = Flatten()(Embedding(X[k].max()+1, 1)(input_els[-1]))\n",
    "        else:\n",
    "            e = input_els[-1]\n",
    "        encoded_els.append(e)\n",
    "    encoded_els = concatenate(encoded_els)\n",
    "\n",
    "    layer1 = Dropout(0.5)(Dense(100, activation=\"relu\")(encoded_els))\n",
    "    out = Dense(1, activation='sigmoid')(layer1)\n",
    "\n",
    "    # train model\n",
    "    model = Model(inputs=input_els, outputs=[out])\n",
    "    model.compile(optimizer=\"adam\", loss='binary_crossentropy', metrics=['accuracy'])\n",
    "    return model\n",
    "\n",
    "\n",
    "def f_in(X, m=None):\n",
    "    \"\"\"Preprocess input so it can be provided to a function\"\"\"\n",
    "    if m:\n",
    "        return [X.iloc[:m,i] for i in range(X.shape[1])]\n",
    "    else:\n",
    "        return [X.iloc[:,i] for i in range(X.shape[1])]\n",
    "\n",
    "def f_out(probs):\n",
    "    \"\"\"Convert probabilities into classes\"\"\"\n",
    "    return list((probs >= 0.5).astype(int).T[0])\n",
    "\n",
    "\n",
    "def confusion_matrix(y_target, y_predicted, scale=True, plot=True):\n",
    "    confusion = sklearn.metrics.confusion_matrix(y_target, y_predicted)\n",
    "    if scale:\n",
    "        confusion = confusion.astype(\"float\") / confusion.sum(axis=1)[:, np.newaxis]\n",
    "    confusion_df = pd.DataFrame(confusion, index=[\"Denied\", \"Approved\"], columns=[\"Denied\", \"Approved\"])\n",
    "    if plot:\n",
    "        cm = sns.cubehelix_palette(8, start=2, rot=0, dark=0, light=1, reverse=True, as_cmap=True)\n",
    "        sn.heatmap(confusion_df, annot=True, fmt='.2f', center=1, cmap=cm)\n",
    "    return confusion_df\n",
    "\n",
    "\n",
    "def plot_roc(y, probs, plot=True):\n",
    "    \n",
    "    fpr, tpr, _ = roc_curve(y, probs)\n",
    "\n",
    "    roc_auc = auc(fpr, tpr)\n",
    "\n",
    "    if plot:\n",
    "        plt.figure()\n",
    "        plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % roc_auc)\n",
    "        plt.plot([0, 1], [0, 1], 'k--')\n",
    "        plt.xlim([0.0, 1.0])\n",
    "        plt.ylim([0.0, 1.05])\n",
    "        plt.xlabel('False Positive Rate')\n",
    "        plt.ylabel('True Positive Rate')\n",
    "        plt.legend(loc=\"lower right\")\n",
    "        plt.rcParams.update(params)\n",
    "        plt.show()\n",
    "    \n",
    "    return roc_auc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 31262 samples, validate on 1299 samples\n",
      "Epoch 1/50\n",
      "31262/31262 [==============================] - 1s 23us/step - loss: 0.5402 - acc: 0.7539 - val_loss: 0.3857 - val_acc: 0.8483\n",
      "Epoch 2/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.4111 - acc: 0.8140 - val_loss: 0.3271 - val_acc: 0.8607\n",
      "Epoch 3/50\n",
      "31262/31262 [==============================] - 0s 5us/step - loss: 0.3592 - acc: 0.8328 - val_loss: 0.2848 - val_acc: 0.8776\n",
      "Epoch 4/50\n",
      "31262/31262 [==============================] - 0s 5us/step - loss: 0.3364 - acc: 0.8423 - val_loss: 0.2693 - val_acc: 0.8884\n",
      "Epoch 5/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3298 - acc: 0.8469 - val_loss: 0.2661 - val_acc: 0.8876\n",
      "Epoch 6/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3263 - acc: 0.8488 - val_loss: 0.2631 - val_acc: 0.8868\n",
      "Epoch 7/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3233 - acc: 0.8511 - val_loss: 0.2633 - val_acc: 0.8838\n",
      "Epoch 8/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3221 - acc: 0.8509 - val_loss: 0.2600 - val_acc: 0.8884\n",
      "Epoch 9/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3194 - acc: 0.8542 - val_loss: 0.2595 - val_acc: 0.8884\n",
      "Epoch 10/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3194 - acc: 0.8515 - val_loss: 0.2594 - val_acc: 0.8915\n",
      "Epoch 11/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3198 - acc: 0.8520 - val_loss: 0.2587 - val_acc: 0.8899\n",
      "Epoch 12/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3159 - acc: 0.8548 - val_loss: 0.2575 - val_acc: 0.8922\n",
      "Epoch 13/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3164 - acc: 0.8520 - val_loss: 0.2576 - val_acc: 0.8899\n",
      "Epoch 14/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3163 - acc: 0.8544 - val_loss: 0.2571 - val_acc: 0.8907\n",
      "Epoch 15/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3150 - acc: 0.8553 - val_loss: 0.2563 - val_acc: 0.8907\n",
      "Epoch 16/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3150 - acc: 0.8540 - val_loss: 0.2564 - val_acc: 0.8922\n",
      "Epoch 17/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3132 - acc: 0.8562 - val_loss: 0.2571 - val_acc: 0.8907\n",
      "Epoch 18/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3137 - acc: 0.8545 - val_loss: 0.2570 - val_acc: 0.8884\n",
      "Epoch 19/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3128 - acc: 0.8563 - val_loss: 0.2551 - val_acc: 0.8899\n",
      "Epoch 20/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3138 - acc: 0.8544 - val_loss: 0.2555 - val_acc: 0.8899\n",
      "Epoch 21/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3135 - acc: 0.8550 - val_loss: 0.2538 - val_acc: 0.8891\n",
      "Epoch 22/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3134 - acc: 0.8559 - val_loss: 0.2561 - val_acc: 0.8907\n",
      "Epoch 23/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3132 - acc: 0.8555 - val_loss: 0.2554 - val_acc: 0.8922\n",
      "Epoch 24/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3126 - acc: 0.8558 - val_loss: 0.2544 - val_acc: 0.8899\n",
      "Epoch 25/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3130 - acc: 0.8561 - val_loss: 0.2542 - val_acc: 0.8891\n",
      "Epoch 26/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3127 - acc: 0.8567 - val_loss: 0.2548 - val_acc: 0.8876\n",
      "Epoch 27/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3132 - acc: 0.8550 - val_loss: 0.2544 - val_acc: 0.8891\n",
      "Epoch 28/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3119 - acc: 0.8557 - val_loss: 0.2546 - val_acc: 0.8891\n",
      "Epoch 29/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3129 - acc: 0.8564 - val_loss: 0.2538 - val_acc: 0.8907\n",
      "Epoch 30/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3119 - acc: 0.8560 - val_loss: 0.2550 - val_acc: 0.8845\n",
      "Epoch 31/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3107 - acc: 0.8565 - val_loss: 0.2557 - val_acc: 0.8876\n",
      "Epoch 32/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3124 - acc: 0.8562 - val_loss: 0.2542 - val_acc: 0.8891\n",
      "Epoch 33/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3124 - acc: 0.8563 - val_loss: 0.2534 - val_acc: 0.8884\n",
      "Epoch 34/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3124 - acc: 0.8569 - val_loss: 0.2545 - val_acc: 0.8899\n",
      "Epoch 35/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3099 - acc: 0.8560 - val_loss: 0.2539 - val_acc: 0.8891\n",
      "Epoch 36/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3110 - acc: 0.8548 - val_loss: 0.2535 - val_acc: 0.8915\n",
      "Epoch 37/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3106 - acc: 0.8565 - val_loss: 0.2540 - val_acc: 0.8876\n",
      "Epoch 38/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3117 - acc: 0.8566 - val_loss: 0.2533 - val_acc: 0.8899\n",
      "Epoch 39/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3103 - acc: 0.8578 - val_loss: 0.2544 - val_acc: 0.8891\n",
      "Epoch 40/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3096 - acc: 0.8569 - val_loss: 0.2539 - val_acc: 0.8907\n",
      "Epoch 41/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3106 - acc: 0.8568 - val_loss: 0.2553 - val_acc: 0.8907\n",
      "Epoch 42/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3099 - acc: 0.8576 - val_loss: 0.2537 - val_acc: 0.8884\n",
      "Epoch 43/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3099 - acc: 0.8584 - val_loss: 0.2542 - val_acc: 0.8891\n",
      "Epoch 44/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3105 - acc: 0.8584 - val_loss: 0.2541 - val_acc: 0.8907\n",
      "Epoch 45/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3101 - acc: 0.8572 - val_loss: 0.2546 - val_acc: 0.8915\n",
      "Epoch 46/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3088 - acc: 0.8581 - val_loss: 0.2548 - val_acc: 0.8907\n",
      "Epoch 47/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3092 - acc: 0.8588 - val_loss: 0.2544 - val_acc: 0.8915\n",
      "Epoch 48/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3092 - acc: 0.8590 - val_loss: 0.2557 - val_acc: 0.8907\n",
      "Epoch 49/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3103 - acc: 0.8583 - val_loss: 0.2547 - val_acc: 0.8891\n",
      "Epoch 50/50\n",
      "31262/31262 [==============================] - 0s 4us/step - loss: 0.3101 - acc: 0.8586 - val_loss: 0.2547 - val_acc: 0.8899\n"
     ]
    }
   ],
   "source": [
    "xd.reset()\n",
    "_= xd.normalize_numeric()\n",
    "_= xd.convert_categories()\n",
    "\n",
    "df_train, df_test = split_test_set(\n",
    "    xd.df,\n",
    "    \"loan\",\n",
    "    examples_per_class=20,\n",
    "    key_features=[\"gender\", \"ethnicity\", \"age\"],\n",
    "    bins=9)\n",
    "\n",
    "X_train = df_train.drop(xd._target_name, axis=1).copy()\n",
    "y_train = df_train[xd._target_name].astype(int).values.copy()#\n",
    "X_valid = df_test.drop(xd._target_name, axis=1).copy()\n",
    "y_valid = df_test[xd._target_name].astype(int).values.copy()\n",
    "\n",
    "# X = xd.df.drop(xd._target_name, axis=1).copy()\n",
    "# y = xd.df[xd._target_name].astype(int).values.copy()\n",
    "\n",
    "# X_train, X_valid, y_train, y_valid = \\\n",
    "#         train_test_split(X, y, test_size=0.2, random_state=7)\n",
    "\n",
    "X_disp = xd.orig_df.drop(xd._target_name, axis=1).copy()\n",
    "y_disp = xd.orig_df[xd._target_name].copy()\n",
    "X_train_disp, X_valid_disp, y_train_disp, y_valid_disp = \\\n",
    "        train_test_split(X_disp, y_disp, test_size=0.2, random_state=7)\n",
    "\n",
    "model = build_model(X)\n",
    "\n",
    "model.fit(f_in(X_train), y_train, epochs=50,\n",
    "    batch_size=512, shuffle=True, validation_data=(f_in(X_valid), y_valid),\n",
    "    verbose=1, validation_split=0.05)\n",
    "\n",
    "probabilities = model.predict(f_in(X_valid))\n",
    "pred = f_out(probabilities)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "31262/31262 [==============================] - 0s 14us/step\n",
      "Error 0.3043: \n",
      "Accuracy 85.9670: \n"
     ]
    }
   ],
   "source": [
    "score = model.evaluate(f_in(X_train), y_train, verbose=1)\n",
    "\n",
    "print(\"Error %.4f: \" % score[0])\n",
    "print(\"Accuracy %.4f: \" % (score[1]*100))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Denied</th>\n",
       "      <th>Approved</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Denied</th>\n",
       "      <td>0.948148</td>\n",
       "      <td>0.051852</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Approved</th>\n",
       "      <td>0.397260</td>\n",
       "      <td>0.602740</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            Denied  Approved\n",
       "Denied    0.948148  0.051852\n",
       "Approved  0.397260  0.602740"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sn\n",
    "confusion_matrix(y_valid, pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "0.7754439370877727"
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot_roc(y_valid, pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 59188 samples, validate on 1299 samples\n",
      "Epoch 1/50\n",
      "59188/59188 [==============================] - 1s 14us/step - loss: 0.5836 - acc: 0.6790 - val_loss: 0.5850 - val_acc: 0.6767\n",
      "Epoch 2/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.4239 - acc: 0.8042 - val_loss: 0.4405 - val_acc: 0.7875\n",
      "Epoch 3/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3822 - acc: 0.8223 - val_loss: 0.4321 - val_acc: 0.7937\n",
      "Epoch 4/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3757 - acc: 0.8259 - val_loss: 0.4409 - val_acc: 0.7991\n",
      "Epoch 5/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3733 - acc: 0.8278 - val_loss: 0.4231 - val_acc: 0.8037\n",
      "Epoch 6/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3698 - acc: 0.8301 - val_loss: 0.4228 - val_acc: 0.8006\n",
      "Epoch 7/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3687 - acc: 0.8300 - val_loss: 0.4135 - val_acc: 0.8091\n",
      "Epoch 8/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3661 - acc: 0.8317 - val_loss: 0.3929 - val_acc: 0.8183\n",
      "Epoch 9/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3652 - acc: 0.8326 - val_loss: 0.3896 - val_acc: 0.8160\n",
      "Epoch 10/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3643 - acc: 0.8328 - val_loss: 0.3885 - val_acc: 0.8176\n",
      "Epoch 11/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3632 - acc: 0.8335 - val_loss: 0.3850 - val_acc: 0.8199\n",
      "Epoch 12/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3622 - acc: 0.8352 - val_loss: 0.3717 - val_acc: 0.8245\n",
      "Epoch 13/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3628 - acc: 0.8345 - val_loss: 0.3718 - val_acc: 0.8237\n",
      "Epoch 14/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3616 - acc: 0.8343 - val_loss: 0.3732 - val_acc: 0.8237\n",
      "Epoch 15/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3605 - acc: 0.8356 - val_loss: 0.3632 - val_acc: 0.8260\n",
      "Epoch 16/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3607 - acc: 0.8358 - val_loss: 0.3608 - val_acc: 0.8306\n",
      "Epoch 17/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3597 - acc: 0.8359 - val_loss: 0.3696 - val_acc: 0.8260\n",
      "Epoch 18/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3587 - acc: 0.8367 - val_loss: 0.3783 - val_acc: 0.8199\n",
      "Epoch 19/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3592 - acc: 0.8352 - val_loss: 0.3651 - val_acc: 0.8276\n",
      "Epoch 20/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3594 - acc: 0.8351 - val_loss: 0.3644 - val_acc: 0.8245\n",
      "Epoch 21/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3591 - acc: 0.8356 - val_loss: 0.3579 - val_acc: 0.8306\n",
      "Epoch 22/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3580 - acc: 0.8369 - val_loss: 0.3660 - val_acc: 0.8253\n",
      "Epoch 23/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3590 - acc: 0.8361 - val_loss: 0.3567 - val_acc: 0.8299\n",
      "Epoch 24/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3588 - acc: 0.8352 - val_loss: 0.3700 - val_acc: 0.8268\n",
      "Epoch 25/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3579 - acc: 0.8365 - val_loss: 0.3651 - val_acc: 0.8229\n",
      "Epoch 26/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3575 - acc: 0.8372 - val_loss: 0.3655 - val_acc: 0.8245\n",
      "Epoch 27/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3582 - acc: 0.8366 - val_loss: 0.3651 - val_acc: 0.8260\n",
      "Epoch 28/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3569 - acc: 0.8377 - val_loss: 0.3603 - val_acc: 0.8276\n",
      "Epoch 29/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3572 - acc: 0.8364 - val_loss: 0.3736 - val_acc: 0.8229\n",
      "Epoch 30/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3571 - acc: 0.8371 - val_loss: 0.3671 - val_acc: 0.8260\n",
      "Epoch 31/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3569 - acc: 0.8371 - val_loss: 0.3675 - val_acc: 0.8276\n",
      "Epoch 32/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3561 - acc: 0.8367 - val_loss: 0.3715 - val_acc: 0.8237\n",
      "Epoch 33/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3564 - acc: 0.8359 - val_loss: 0.3681 - val_acc: 0.8260\n",
      "Epoch 34/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3564 - acc: 0.8369 - val_loss: 0.3671 - val_acc: 0.8229\n",
      "Epoch 35/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3559 - acc: 0.8372 - val_loss: 0.3766 - val_acc: 0.8245\n",
      "Epoch 36/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3561 - acc: 0.8372 - val_loss: 0.3702 - val_acc: 0.8268\n",
      "Epoch 37/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3562 - acc: 0.8371 - val_loss: 0.3793 - val_acc: 0.8222\n",
      "Epoch 38/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3561 - acc: 0.8364 - val_loss: 0.3722 - val_acc: 0.8199\n",
      "Epoch 39/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3552 - acc: 0.8371 - val_loss: 0.3706 - val_acc: 0.8245\n",
      "Epoch 40/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3564 - acc: 0.8364 - val_loss: 0.3764 - val_acc: 0.8214\n",
      "Epoch 41/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3561 - acc: 0.8370 - val_loss: 0.3771 - val_acc: 0.8206\n",
      "Epoch 42/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3550 - acc: 0.8378 - val_loss: 0.3695 - val_acc: 0.8237\n",
      "Epoch 43/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3555 - acc: 0.8369 - val_loss: 0.3776 - val_acc: 0.8214\n",
      "Epoch 44/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3556 - acc: 0.8362 - val_loss: 0.3709 - val_acc: 0.8253\n",
      "Epoch 45/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3546 - acc: 0.8372 - val_loss: 0.3742 - val_acc: 0.8206\n",
      "Epoch 46/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3536 - acc: 0.8368 - val_loss: 0.3763 - val_acc: 0.8229\n",
      "Epoch 47/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3547 - acc: 0.8370 - val_loss: 0.3670 - val_acc: 0.8253\n",
      "Epoch 48/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3543 - acc: 0.8364 - val_loss: 0.3684 - val_acc: 0.8260\n",
      "Epoch 49/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3550 - acc: 0.8372 - val_loss: 0.3707 - val_acc: 0.8237\n",
      "Epoch 50/50\n",
      "59188/59188 [==============================] - 0s 4us/step - loss: 0.3546 - acc: 0.8380 - val_loss: 0.3681 - val_acc: 0.8276\n"
     ]
    }
   ],
   "source": [
    "xd.reset()\n",
    "xd.balance(\"gender\", upsample=1)\n",
    "xd.show_imbalance(\"gender\")\n",
    "\n",
    "_= xd.normalize_numeric()\n",
    "_= xd.convert_categories()\n",
    "\n",
    "df_train, df_test = split_test_set(\n",
    "    xd.df,\n",
    "    \"loan\",\n",
    "    examples_per_class=20,\n",
    "    key_features=[\"gender\", \"ethnicity\", \"age\"],\n",
    "    bins=9)\n",
    "\n",
    "X_train = df_train.drop(xd._target_name, axis=1).copy()\n",
    "y_train = df_train[xd._target_name].astype(int).values.copy()#\n",
    "# X_valid = df_test.drop(xd._target_name, axis=1).copy()\n",
    "# y_valid = df_test[xd._target_name].astype(int).values.copy()\n",
    "\n",
    "# X = xd.df.drop(xd._target_name, axis=1).copy()\n",
    "# y = xd.df[xd._target_name].astype(int).values.copy()\n",
    "\n",
    "# X_train, X_valid, y_train, y_valid = \\\n",
    "#         train_test_split(X, y, test_size=0.2, random_state=7)\n",
    "\n",
    "\n",
    "X_disp = xd.orig_df.drop(xd._target_name, axis=1).copy()\n",
    "y_disp = xd.orig_df[xd._target_name].copy()\n",
    "X_train_disp, X_valid_disp, y_train_disp, y_valid_disp = \\\n",
    "        train_test_split(X_disp, y_disp, test_size=0.2, random_state=7)\n",
    "\n",
    "\n",
    "model = build_model(X)\n",
    "\n",
    "model.fit(f_in(X_train), y_train, epochs=50,\n",
    "    batch_size=512, shuffle=True, validation_data=(f_in(X_valid), y_valid),\n",
    "    verbose=1, validation_split=0.05)\n",
    "\n",
    "probabilities = model.predict(f_in(X_valid))\n",
    "pred = f_out(probabilities)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "_= confusion_matrix(y_valid, pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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FKWwde9vOsHJmKRyfc3GNSsx7bFQo89/8MEHiYyMBOD777+nQ4cOdO/eHQB3d3cWLVpE586dGT16NB999BFTpkwhODgYAEdHR0aNGlXsNVNSUnjttdc4dOgQdnZ2TJs2jQEDBuDp6UlKSgoAP/74I5s3b2bFihW8+OKL+Pr6cuTIEZo1a8a6des4evRofpdu/fr12bNnD/b29owYMYLLly8DsGDBAjp06FDovZOTk4mMjKRp06YAHDhwgPHjx5Oeno6bmxtff/01jRo1YsWKFURERJCRkUFqaiq//fYbH3/8MT/88AOZmZk8+eSTvP/++wD069ePK1eukJGRwbhx4xg+fLjR17ckGzZs4JlnnsHFxYWgoCDq16/PgQMHePDBBwudZ2dnR1KS+vORmJhIzZpqUdNKlSrln5Oamlpo/OGxxx5j1apVvPHGG/cVozEsOlHkdTt1blgFL9eydTspisKaNWsYP348165dY8yYMdSrV6+cIxVCWzk5Ofz6668MGzYMULudWrZsWeicevXqkZKSQlJSEsePH2fSpEl3fd2ZM2fi7e1NVFQUAPHx8Xd9ztmzZ9mxYwcODg7k5uaybt06XnrpJf7880/q1KlDtWrVeO6555gwYQIdO3bk8uXL9OjRg1OnThV6nUOHDhWadRgcHMzu3btxdHRkx44dvPPOO6xduxaAffv2ERkZia+vL9u3b+fcuXMcOHAARVF4/PHH2b17N506deKrr77C19eX9PR0WrduzYABA/Dz8yv0vhMmTGDnzp3Fvq9nnnmGt956q9B9V69epV27dvnHAQEBXL16tdhzly9fTu/evXFzc6NSpUrs378//7HFixczb948srKy+O233/Lvb9WqFXPnzpVEcTeH/onnRnImfcpY20lRFPr378/69etp0aIFGzdupFWrMq1wF8Kge/nLvzylp6fTrFkzLl26RMuWLenWrRtwZ7/2ktzLrJkdO3awatWq/GMfH5+7Puepp57CwcEBgEGDBjFjxgxeeuklVq1axaBBg/JfN68/HtSS/cnJyXh5eeXfFxsbS5UqVfKPExMTGTp0KOfOncPOzg6dTpf/WLdu3fD19QVg+/btbN++nebNmwNqq+jcuXN06tSJhQsXsm7dOgCuXLnCuXPniiWK+fPnG3dxoNCYT56Sru/8+fPZsmULbdu25eOPP2bixIksX74c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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "0.828951040081177"
      ]
     },
     "execution_count": 150,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot_roc(y_valid, pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "(loan  gender\n",
       " 0     0         15128\n",
       "       1         15128\n",
       " 1     0         15128\n",
       "       1         15128\n",
       " Name: gender, dtype: int64, loan  gender\n",
       " 0     0         1.0\n",
       "       1         1.0\n",
       " 1     0         1.0\n",
       "       1         1.0\n",
       " Name: gender, dtype: float64, loan  gender\n",
       " 0     0         False\n",
       "       1         False\n",
       " 1     0         False\n",
       "       1         False\n",
       " Name: gender, dtype: bool)"
      ]
     },
     "execution_count": 151,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xd.show_imbalance(\"gender\", bins=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/sklearn/metrics/classification.py:1145: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 due to no true samples.\n",
      "  'recall', 'true', average, warn_for)\n",
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/sklearn/metrics/classification.py:1145: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 due to no true samples.\n",
      "  'recall', 'true', average, warn_for)\n",
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/sklearn/metrics/classification.py:1143: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 due to no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n",
      "/home/alejandro/anaconda3/lib/python3.6/site-packages/sklearn/metrics/classification.py:1145: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 due to no true samples.\n",
      "  'recall', 'true', average, warn_for)\n"
     ]
    },
    {
     "data": {
      "image/png": "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LrkkM2fOzMyZM/eGoKOPPjpJ8rvf/S4LFy7MrFmzMmPGjDzyyCNJku7u7jz//PNJkptuuikzZszIjBkz8vWvf33vXNOmTcs111yT6dOn58Mf/nBeeeWVQ/3nAQAAAMYBQWgIvb29Wbx4cTZt2pRJkyblW9/6VpLm17o/+uijueKKK7J48eJ885vfzLp163LjjTdmyZIlSZJrr70273vf+7Jx48asX78+06dP3+e1f/CDH+QjH/lINmzYkI0bN2bWrFn7PL9u3bp897vfzS9/+cs89thj+c53vpPHH388SfKb3/wmX/rSl7J58+Ycd9xxuffeew/BXwMAAAAYb0b1KWN1mTJlSs4555wkyac+9al84xvfSJJcfvnlSZKXXnopa9asyWWXXbb3Z1577bUkyU9/+tPceeedSZLOzs4ce+yx+7z2GWeckc997nN5/fXX87GPfWy/IPToo4/mkksuyVFHHZUk+fjHP55HHnkkF110UXp6evaunzt3bvr6+tr8mwMAAAAlsENoCIO/revN+29Gmj179uS4447Lhg0b9h5btmyp9NoLFy7Mz372s0yePDmf/vSn98ajNzUajWF/9h3veMfe252dndm9e3el9wQAAAAYSBAawrPPPptf/OIXSZLly5fn3HPP3ef5SZMmpaenJytWrEjSjDgbN25Mkpx33nn59re/naR58em//OUv+/zsM888kxNPPDHXXHNNrr766qxfv36f5xcuXJgf//jH2blzZ15++eX86Ec/yoIFC0bk9wQAAADKJAgNYdq0afne976X008/PS+88EK++MUv7rfm+9//fm6//fbMnDkz06dPz09+8pMkyS233JKHH34473nPezJ37txs3rx5n59bvXp1Zs2aldmzZ+fee+/NV77ylX2enzNnTq666qrMnz8/733ve/P5z38+s2fPHrlfFgAAAChOx4FOURph+73xli1bMm3atDpm2auvry8XXnhhnnjiiVrn+GuNhr/hSOhedn/dIzBG9E38ZN0jMJZct6PuCYBxyOcWqvK5hYPicwvVrUsy760W2SEEAAAAUBhBaJDu7u4xuzsIAAAAoApBCAAAAKAwghAAAABAYQQhAAAAgMIIQgAAAACFEYQAAAAACjOh7gEO6Lpj2/x6O9r7ehX19fXlwgsvzBNPPJHVq1fnxhtvzMqVK2uZBQAAAMAOoQNoNBrZs2dP3WMAAAAAtJUgNEhfX1+mTZuWJUuWZM6cObnrrrty1llnZc6cObnsssvy0ksvJUnWrl2bs88+OzNnzsz8+fPz4osvpq+vLwsWLMicOXMyZ86crFmzpubfBgAAAGB/gtAQent785nPfCYPPfRQbr/99qxatSrr16/PvHnzctNNN2XXrl25/PLLc8stt2Tjxo1ZtWpVjjzyyJx44ol56KGHsn79+txzzz259tpr6/5VAAAAAPYzuq8hVJNTTjklZ555ZlauXJknn3wy55xzTpJk165dOeuss9Lb25uTTz45Z5xxRpJk0qRJSZKXX345S5cuzYYNG9LZ2Zmnnnqqtt8BAAAAYDiC0BCOOuqoJM1rCH3oQx/K8uXL93l+06ZN6ejo2O/nbr755px00knZuHFj9uzZk4kTJx6SeQEAAAAOhlPGDuDMM8/Mz3/+82zdujVJsnPnzjz11FM57bTTsm3btqxduzZJ8uKLL2b37t3ZsWNHTj755Bx22GG566678sYbb9Q5PgAAAMCQRvcOoZq+Jv5N73znO3PHHXfkyiuvzGuvvZYk+drXvpZTTz0199xzT7785S/nlVdeyZFHHplVq1ZlyZIl+cQnPpEVK1bkAx/4wN6dRgAAAACjSUej0ajrvfd74y1btmTatGl1zDJujNe/Yfey++segTGib+In6x6BsaTm/3gAxiefW6jK5xYOis8tVLcuyby3WuSUMQAAAIDCCEIAAAAAhRl1QajGU9jGPH87AAAAoIpRFYQmTpyY7du3Cxt/hUajke3bt/uqewAAAOAtjapvGevq6kp/f3/++Mc/1j3KmDRx4sR0dXXVPQYAAAAwylUNQouS3JKkM8n/TnLDoOffkeTOJHOTbE9yeZK+gx3m8MMPT09Pz8H+GAAAAAAHocopY51Jbk1yfpJ3J7my9e9AVyf5U5K/SXJzkv/exhkBAAAAaKMqQWh+kq1Jnk6yK8ndSS4etObiJN9r3f6nJOcl6WjTjAAAAAC0UZUgNDnJcwPu97ceG27N7iQ7khz/tqcDAAAAoO2qXENoqJ0+g78GrMqaJFncOpLkpSS9Fd4f0nfDR+segTFjxwlJnq97CgDK5XML1fncAoyIU6osqhKE+pNMGXC/K8m2Ydb0t17z2CQvDPFat7UOgJHyqyTz6h4CAKACn1uA2lQ5ZWxtkqlJepIckeSKJPcNWnNfks+2bl+a5KcZeocQAAAAADWrskNod5KlSR5M8xvH/jHJ5iTXp1m070tye5K70rz49AtpRiMAAAAARqGORsNGHmBcWRynpgIAY4PPLUBtBCEAAACAwlS5hhAAAAAA44ggBAAAAFAYQQgAAACgMFW+ZQxgNDstycVJJidpJNmW5rcfbqlzKAAAgNHMDiFgLPuPSe5O0pHk/yZZ27q9PMmyGucCADgYf1f3AEB5fMsYMJY9lWR6ktcHPX5Eks1Jph7yiQAADt6zSd5V9xBAWZwyBoxle5L8myTPDHr85NZzAACjxaZhHu9IctKhHAQgEYSAse3fJfnXJL9J8lzrsXcl+ZskS+saCgBgCCcl+UiSPw16vCPJmkM/DlA6QQgYy/4lyalJ5qd5UemOJP1pXkvojRrnAgAYbGWSo5NsGOK51Yd2FADXEAIAAAAojm8ZAwAAACiMIAQAAABQGEEIAAAAoDCCEAAAAEBhBCEAAACAwvx//rF7NQ8XlisAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABIQAAAEvCAYAAAA0MRq8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAGAlJREFUeJzt3XuQlfWd5/FP0wgdL5hZUIe1jc0mBhHkJkG8TiZKBi+Fmy1dNZU1bhk1ut4mO9ayZidSbm3FTGo0bsXJrBlcHSqjxqSiljrr6oxkEy8pFMWo2ATdVjvERDBBEQkXz/5xTtymbeQIp3mgf69X1VN9znOec/rbXfUU8OZ3ntNWq9UCAAAAQDmGVT0AAAAAADuXIAQAAABQGEEIAAAAoDCCEAAAAEBhBCEAAACAwghCAAAAAIURhAAAAAAKIwgBAAAAFEYQAgAAACiMIAQAAABQmOEVfu9ahd8bAAAAYChalWS/bR1khRAAAADA0PFyMwcJQgAAAACFEYQAAAAACiMIAQAAABSmyotKAwAAAIXauHFjent7s379+qpH2S11dHSks7Mze+yxx3Y9XxACAAAAdrre3t7ss88+6erqSltbW9Xj7FZqtVpWr16d3t7ejBs3brtew1vGAAAAgJ1u/fr1GT16tBi0Hdra2jJ69OgdWl0lCAEAAACVEIO2347+7poJQjcn+U2SZ7c2Q5L/nmRFkmeSTN+hiQAAAAB2Y0cfffQHPn7yySfnd7/73U6aZmDNXEPoliTfTvL3W3n8pCSHNLYjk3yn8RUAAACgKV3z7mvp6/Vce0pLXmfz5s1pb2//UM959NFHP/Dx+++/f0dGaolmVgj9nyRvfMDjp6Uei2pJHk/y0SRjd3w0AAAAgMHT09OTQw89NF/84hczefLknH766Vm3bl26urpyzTXX5Nhjj82dd96ZF198MXPmzMkRRxyR4447Li+88EKS5Ne//nU+97nPZcqUKZkyZcp7IWjvvfdOkvzqV7/K8ccfn6lTp2bSpEn5yU9+kiTp6urKqlWrkiTXXXddJk2alEmTJuVb3/rWe3NNmDAh559/fiZOnJjPfvazeeedd1r6s7fiU8YOTPJqn/u9jX2/+qAnda/qzoX3XtiCbw8AAADsbq6eeHWGrRq8Sxt3r+re5jG9b/Smu7s7V//11bnqr6/KVZddlfnfnJ+N727MW5vfyoK7FiRJvvBvvpD535yfro93ZemTS3Pu+efm1h/dmj+/8M8zdcbUXPvda7N58+ase3tduld1p1arpXtVd27+7s054tgj8uWvfDmbN2/OO++8k+5V3dn47sasWL0iP1764/zt3/1t7vjHO1Kr1XLmnDNz8OSDM+qjo/KLX/wiX/+br+cvvv4XueK8K/LtW76duWfM3WL+19a+lotuuWiLfYvOXdTU76cVQWigqxjVtnLsBY0NAAAAoHJjDxyb6UfWL4c894y5WfjdhUmSk/71SUmSt9e+nacWP5Urzrviveds2LAhSfL4Tx/PN278RpKkvb09+4zaZ4vXPnzq4fnq5V/Nxk0bc+JJJ2bC4RO2eHzJ40sy++TZ2XOvPZMks0+ZnScefyKfmfOZdH6s873jJ06ZmF++8suW/tytCEK9SQ7qc78zycqtHHtTY8v4MeNrzVYrAAAAYGhZtmxZxo8Z32fPipa+/pavPbCRa0dmj/Y93jv2l/v+MvuM3Cd7DNsjkw+anDFjxuTNEW/mjz76R1n27LL3Pb+9rT2fHPPJjBw5cov9bW1tGT9mfMbPHZ/PzPhM7rvvvvzlZX+ZK6+8Muecc072GLZHPjH6E9lvr/3S/vv2977/6D1HZ7+998vH/8XHs/eee7+3/49H/XHWrl37vp/p3dffbXpFUH+tWJt1T5JzUl8pNCvJmmzj7WIAAAAAu4JXXnkljz32WJLktttuy7HHHrvF46NGjcq4ceNy5513JklqtVqWLl2aJDnhhBPyne98J0n94tNvvvnmFs99+eWXs//+++f888/PeeedlyVLlmzx+PHHH5+77ror69aty9tvv50f/ehHOe644wbl5+yvmSB0W5LHkoxPfTXQeUm+3NiS5P4kL6We8r6b5OLWjwkAAADQehMmTMitt96ayZMn54033shFF130vmO+973vZcGCBZkyZUomTpyYu+++O0lyww035OGHH87hhx+eI444Is8999wWz1u0aFGmTp2aadOm5Yc//GEuv/zyLR6fPn16zj333MycOTNHHnlkvvSlL2XatGmD98P20Varbe1yP4Ousm8MAAAAVGvZsmWZMGHCtg8cRD09PTn11FPz7LPPVjrH9trK7/DJJDO29dzBu5w3AAAAALskQQgAAAAoUldX1267OmhHCUIAAAAAhRGE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\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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6v9uuummfPKTn8yECROyxRZbrDVCaNq0aTn66KMzY8aMJMm73vWu7LnnnlmyZMmQ1xsAAABohm4SQkesZ3oryXsqKMuIMW7cuHzhC19Y472BCZmpU6fm+uuvX+t/d9hhh1x11VVrvb98+fIkyVFHHZWjjjpqren9l3/qqafm1FNPXWP6lClTsnDhwqdev+9971tvPQAAAAAGM3T3eAcAAABgRJIQGmDgSBwAAACAsUZCCAAAAKBhJIQAAAAAGkZCCAAAAKBhJIQAAAAAGqab284PnzmTKl7esmqX16UlS5bkTW96UxYuXJibbropn/rUp3LNNdcMS1kAAAAAjBBah1arlVWrVg13MQAAAAAqJSE0wJIlS7L77rvnxBNPzLRp03LppZdm3333zbRp03LYYYdl+fLlSZJ58+Zlv/32yx577JEZM2bkoYceypIlS/KKV7wi06ZNy7Rp0/KjH/1omGsDAAAAsDYJoUEsXrw473jHO3LDDTfkwgsvzI033pj58+dn+vTp+fSnP50nnngihx9+eM4555wsWLAgN954YzbbbLNsv/32ueGGGzJ//vxcccUVOeWUU4a7KgAAAABrGdnXEBomu+yyS/bZZ59cc801uf322/Pyl788SfLEE09k3333zeLFi7Pjjjtmr732SpJstdVWSZKHH344J510Um699daMHz8+d9xxx7DVAQAAAKATCaFBbL755knKNYRe//rXZ+7cuWtMv+2229LT07PW/5199tnZYYcdsmDBgqxatSoTJ06spbwAAAAAT4dTxtZhn332yQ9/+MPceeedSZJHHnkkd9xxR17wghfkvvvuy7x585IkDz30UFasWJFly5Zlxx13zLhx43LppZdm5cqVw1l8AAAAgEGN7BFCw3Sb+D7bbbddvvKVr+SII47I448/niT56Ec/muc///m54oorcvLJJ+fRRx/NZpttlhtvvDEnnnhi3vKWt+TKK6/Mq1/96qdGGgEAAKPInEkd3h/e/glAlUZ2QmgYTJkyJQsXLnzq9Wte85qnRgL1t9dee+Xmm29e471dd901t91221OvP/7xj6+1zJkzZ2bmzJlDUHIAAACA7jhlDAAAAKBhJIQAAAAAGmbEJYRardZwF2HU8tkBAAAA3RhRCaGJEydm6dKlEhsboNVqZenSpW51DwAAAKzXiLqo9OTJk9Pb25sHHnhg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\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABIQAAAF3CAYAAADU7JAmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3XmYpWV95/93sYnKEgUXIirEBVEERUSM4iQqDi5Bk1GjmQRN3KLjlkycOGaRmDgxm8skmoyJicRJ3BM1auIySjbFoChGxHb7obZLFFQEEUHo3x93tV1dXQ3VUNRzivN6Xde5us5znqr+NtdNned8nvv+3gtbtmwJAAAAgPmx29QFAAAAALC+BEIAAAAAc0YgBAAAADBnBEIAAAAAc0YgBAAAADBnBEIAAAAAc0YgBAAAADBnBEIAAAAAc0YgBAAAADBnBEIAAAAAc2aPCf/uLRP+3QAAAADXRedVN7mqk8wQAgAAALju+NxqThIIAQAAAMwZgRAAAADAnBEIAQAAAMyZKZtKAwAAAHPqsssua/PmzV1yySVTl7Ih7b333h188MHtueeeV+v7BUIAAADAutu8eXP77rtvhxxySAsLC1OXs6Fs2bKl888/v82bN3fooYderZ9hyRgAAACw7i655JIOOOAAYdDVsLCw0AEHHHCNZlcJhAAAAIBJCIOuvmv63241gdCfV1+tPrazGqr/XX26+mh19DWqCAAAAGAD++Ef/uErff1BD3pQ3/zmN9epmpWtpofQK6s/qv5yJ68/sLrd4uMe1R8v/gkAAACwKoc8+21r+vPOfcGD1+TnXH755e2+++679D3ve9/7rvT1t7/97dekpDWxmhlC/1R9/Upef2gjLNpSnV79QHXQNS8NAAAA4Npz7rnndoc73KHHPOYxHXnkkT384Q/v4osv7pBDDul5z3te9773vXv961/fZz7zmU488cTudre7dfzxx/eJT3yiqv/4j//ox3/8xzvqqKM66qijvh8E7bPPPlV9+ctf7j73uU93uctdOuKII/rnf/7nqg455JDOO++8ql74whd2xBFHdMQRR/TiF7/4+3UdfvjhPeEJT+hOd7pTD3jAA/rOd76zpv/2tdhl7BbVF5Y837x47MtX9k2bztvUk976pDX46wEAAICN5rl3em67nXfttTbedN6mqzxn89c3t2nTpp77B8/tOX/wnJ7z9Od0yu+d0mVXXNaFl1/YK970iqp++id+ulN+75QOuc0hnfWhs3rsEx7bqX97ar/wpF/oLsfcpRf86Qu6/PLLu/jbF7fpvE1t2bKlTedt6s//9M+7273v1s//4s93+eWX953vfKdN523qsisu69Pnf7p/POsf+5M/+5Ne+/evbcuWLf3kiT/ZrY+8dfv9wH596lOf6rdf9tv90m//Us983DP7o1f+USc94qTt6v/KRV/pya988nbHTnvsaav677MWgdBKXYy27OTcJy4+AAAAACZ30C0O6uh7jHbIJz3ipF71p6+q6oEPe2BV377o2334jA/3zMc98/vfc+mll1Z1+r+c3u+89Heq2n333dt3v323+9l3vsud+5Vn/EqXfe+y7v/A+3f4nQ/f7vUzTz+zEx50Qje44Q2qOuHBJ/TB0z/YfU+8bwff6uDvn3+no+7UFz//xTX9d69FILS5uuWS5wdXX9rJuS9ffHTYgYdtWW1qBQAAAFy3nHPOOR124GFLjnx6TX/+9j97Zde76Hrtufue3z/3i/t/sX2vt2977rZnR97yyA488MC+tde3utEP3KhzPnbODt+/+8Lu3f7A23e9611vu+MLCwsdduBhHXbSYd33mPv2tre9rV97+q/1rGc9q5NPPrk9d9uz2x5w225yw5u0+3d3//7ff8ANDugm+9yk29z4Nu1zg32+f/zm+928iy66aId/0xVfu2LVM4KWW4u5WW+pTm7MFDquuqCrWC4GAAAAMAs+//nP9/73v7+qV7/61d373vfe7vX99tuvQw89tNe//vVVbdmypbPOOquq+93vfv3xH/9xNZpPf+tb39ruez/3uc9105vetCc84Qk97nGP68wzz9zu9fvc5z696U1v6uKLL+7b3/52f/u3f9vxxx9/rfw7l1tNIPTq6v3VYY3ZQI+rfn7xUfX26rONKO9Pq6esfZkAAAAAa+/www/v1FNP7cgjj+zrX/96T37yk3c456/+6q96xSte0VFHHdWd7nSn3vzmN1f1kpe8pPe+973d+c537m53u1tnn332dt932mmndZe73KW73vWuvfGNb+wZz3jGdq8fffTRPfaxj+3YY4/tHve4R49//OO7613veu39Y5dY2LJlZ+1+rnWT/cUAAADAtM4555wOP/zwqz7xWnTuuef2kIc8pI997GOT1nF17eS/4YeqY67qe6+9dt4AAAAAzCSBEAAAADCXDjnkkA07O+iaEggBAAAAzBmBEAAAAMCcEQgBAAAAzBmBEAAAAMCcEQgBAAAArJFzzz23I444oqrTTjuthzzkIRNXtLI9pi4AAAAAoFP2X+Ofd8Eunb5ly5a2bNnSbrvNx9yZ+fhXAgAAACxz7rnndvjhh/eUpzylo48+ule96lXd85737Oijj+4Rj3hEF110UVVnnHFGP/zDP9xRRx3Vscce24UXXti5557b8ccf39FHH93RRx/d+973von/NbtGIAQAAADMrU2bNnXyySf3rne9q1e84hW9+93v7swzz+yYY47phS98YZdeemk/+ZM/2Ute8pLOOuus3v3ud3f961+/m970pr3rXe/qzDPP7LWvfW1Pf/rTp/6n7BJLxgAAAIC5detb37rjjjuut771rX384x/vXve6V1WXXnpp97znPdu0aVMHHXRQd7/73avab7/9qvr2t7/dU5/61D7ykY+0++6798lPfnKyf8PVIRACAAAA5tYNb3jDavQQOuGEE3r1q1+93esf/ehHW1hY2OH7XvSiF3Wzm92ss846qyuuuKK99957XepdK5aMAQAAAHPvuOOO61//9V/79Kc/XdXFF1/cJz/5ye5whzv0pS99qTPOOKOqCy+8sO9973tdcMEFHXTQQe2222696lWv6vLLL5+y/F0mEAIAAADm3k1ucpNe+cpX9uhHP7ojjzyy4447rk984hPttddevfa1r+1pT3taRx11VCeccEKXXHJJT3nKUzr11FM77rjj+uQnP/n9mUYbxcKWLVum+rsn+4sBAACAaZ1zzjkdfvjhU5exoe3kv+GHqmOu6nvNEAIAAACYMwIhAAAAgDkjEAIAAACYMwIhAAAAYBIT9jXe8K7pfzuBEAAAALDu9t57784//3yh0NWwZcuWzj///Pbee++r/TP2WMN6AAAAAFbl4IMPbvPmzX3ta1+bupQNae+99+7ggw++2t9v23kAAACA6w7bzgMAAACwI4EQAAAAwJwRCAEAAADMGYEQAAAAwJwRCAEAAADMGYEQAAAAwJwRCAEAAADMGYEQAAAAwJwRCAEAAADMGYEQAAAAwJwRCAEAAADMGYEQAAAAwJwRCAEAAADMGYEQAAAAwJwRCAEAAADMGYEQAAAAwJwRCAEAAADM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\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "dark"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def group_by_columns(df, all_cols, bins=0):\n",
    "    group_list = []\n",
    "    for c in all_cols:\n",
    "        col = df[c]\n",
    "        if not bins:\n",
    "            grp = c\n",
    "        else:\n",
    "            col_min = col.min()\n",
    "            col_max = col.max()\n",
    "            # TODO: Use the original bins for display purposes as they may come normalised\n",
    "            col_bins = pd.cut(col, list(np.linspace(col_min, col_max, bins)))\n",
    "            grp = col_bins\n",
    "\n",
    "        group_list.append(grp)\n",
    "\n",
    "    grouped = df.groupby(group_list)\n",
    "    return grouped \n",
    "\n",
    "from sklearn.metrics import precision_recall_fscore_support\n",
    "\n",
    "def individual_confusion(x_df, y_valid, y_pred, c, bins=0, average=None):\n",
    "    x_tmp = x_df.copy()\n",
    "    x_tmp[\"target\"] = y_valid\n",
    "    x_tmp[\"predicted\"] = y_pred\n",
    "    if not average:\n",
    "        # TODO: Enable for multiclass multidisplay\n",
    "        average = \"binary\" if len(np.unique(y_valid)) == 2 else \"weighted\"\n",
    "    grouped = group_by_columns(x_tmp, [c], bins) \n",
    "    prfs = []\n",
    "    classes = []\n",
    "    for group, group_df in grouped:\n",
    "        group_valid = group_df[\"target\"]\n",
    "        group_pred = group_df[\"predicted\"]\n",
    "        precision, recall, fscore, _ = \\\n",
    "            precision_recall_fscore_support(group_valid, group_pred, average=average)\n",
    "        prfs.append([precision, recall])\n",
    "        classes.append(str(group))\n",
    "#         prfs.extend([precision,recall, fscore])\n",
    "    \n",
    "    prfs_df = pd.DataFrame(prfs, columns=[\"precision\", \"recall\"], index=classes)\n",
    "    prfs_df.plot.bar(figsize=(20,5))\n",
    "    lp = plt.axhline(0.5, color='r')\n",
    "#     lp = plt.axhline(prfs_df.mean(), color='y')\n",
    "    lp = plt.axhline(1, color='g')\n",
    "#     prfs_df[\"precision\"].plot.bar()\n",
    "#     lp = plt.axhline(0.5, color='r')\n",
    "#     lp = plt.axhline(1, color='g')\n",
    "#     plt.show()\n",
    "#     prfs_df[\"recall\"].plot.bar()\n",
    "#     lp = plt.axhline(0.5, color='r')\n",
    "#     lp = plt.axhline(1, color='g')\n",
    "\n",
    "    \n",
    "#     sns.barplot(list(range(0, len(prfs))),prfs)\n",
    "\n",
    "for c in xd._protected_cols: \n",
    "    num_bins = 0 if c in xd._categorical_cols else 9\n",
    "    individual_confusion(X_valid, y_valid, pred, c, bins=num_bins)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import classification_report\n",
    "\n",
    "print(classification_report(y_valid, pred))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "sns.barplot([0,1], np.histogram(y_train,bins=2)[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Initialise XData object with dataframe and target col\n",
    "import xai\n",
    "\n",
    "target = \"loan\"\n",
    "protected = [\"gender\", \"ethnicity\", \"native-country\", \"age\"]\n",
    "\n",
    "df.head()\n",
    "\n",
    "# View class imbalances\n",
    "xai.show_imbalances(df, protected)\n",
    "\n",
    "# View imbalance for specific column\n",
    "xai.show_imbalance(df, \"gender\")\n",
    "\n",
    "# View imbalance for specific column\n",
    "xai.show_imbalance(df, \"gender\")\n",
    "\n",
    "# Balance class that is under threshold\n",
    "b_df = xai.balance(df, \"gender\")\n",
    "\n",
    "# Visualise cross-class imbalance\n",
    "xai.show_imbalance(b_df, \"gender\", cross=[\"loan\"])\n",
    "\n",
    "# Re-balance the original one\n",
    "b_df = xai.balance(df, \"gender\", downsample=0.8, upsample=0.8)\n",
    "\n",
    "# View correlations\n",
    "xai.correlations(b_df)\n",
    "\n",
    "# View all correlations\n",
    "xai.correlations(include_categorical=True)\n",
    "\n",
    "# Process and split test \n",
    "df = xai.normalize_numeric(df)\n",
    "df = xai.convert_categories(df)\n",
    "X_train, y_train, X_test, y_test = \\\n",
    "    xai.balanced_split(\n",
    "        df,\n",
    "        examples_per_class=20,\n",
    "        key_features=[\"gender\", \"ethnicity\", \"age\"],\n",
    "        bins=6)\n",
    "\n",
    "# Lets get some model predictions\n",
    "model.fit(X_train)\n",
    "preds = model.predict(X_test)\n",
    "\n",
    "xai.roc_curve(X_test, y_test, preds)\n",
    "\n",
    "xai.roc_curve(X_test, y_test, preds, \"gender\")\n",
    "\n",
    "xai.precision(X_test, y_test, preds, \"age\")\n",
    "\n",
    "xai.recall(X_test, y_test, preds, \"age\")\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
